
package com.xbongbong.sys.domain.dao;

import com.xbongbong.sys.domain.entity.WeakManageEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * WeakManageDao
 *
 * @author GuoJun.HU
 * @since V1.0
 * @date 2019/2/19 11:08
 */
@Repository
@Mapper
public interface WeakManageDao {

    Integer insert(WeakManageEntity weakManage);

    /**
     * 批量插入助理范围数据
     * @param list 助理范围列表
     */
    void insertBatch(@Param("list") List<WeakManageEntity> list);

    Integer update(WeakManageEntity weakManage);

    Integer deleteByKey(@Param("key") Integer key, @Param("corpid") String corpid);

    /**
     * 结合corpid和助手/管理者id物理删除助理数据，本方法是为后面的批量插入提供干净的环境
     * @param corpid 公司id
     * @param supUserId 管理者/助理的userId
     * @return 影响的记录数
     */
    Integer physicalDeleteBySupId(@Param("corpid") String corpid, @Param("supUserId") String supUserId);

    WeakManageEntity getByKey(@Param("key") Integer key, @Param("corpid") String corpid);

    List<WeakManageEntity> findEntitys(@Param("param") Map<String, Object> param);

    Integer getEntitysCount(@Param("param") Map<String, Object> param);

    List<Integer> findOnlyIds(@Param("param") Map<String, Object> param);

}